// 数组指针  重点是指针   指向数组的指针
#include <stdio.h>
int main()
{
    // int *p1[10];  这是一个指针数组，存放的指针指向整数类型
    // int (*p2)[10]; 这是一个数组指针，指向数组的指针，该数组有10个元素，每个元素都是 int 类型
    // 续 32 行

    return 0;
}
// 数组名通常表示的都是首元素地址
// 但是有两个例外
// 1.  sizeof(数组名)   这里的数组名表示整个数组，计算的是整个数组的大小
// 2.  &数组名          这里的数组名表示的依然是整个数组，取出的是整个数组的地址
// 数组名 和 &数组名 的区别是 +1后的步长不同
// 数组名+1 表示移向数组中的下一个元素
// &数组名+1 表示跳过整个数组
//
// int arr[10]  = {0}   arr表示首元素地址，首元素的地址是 int 的地址，其类型是 int* ,int* 类型的指针+1 跳过 4 个字节

// int arr[10]  = {0}；
// int* p = arr;   arr是首元素地址  指向整数，存起来该地址应该用 int* 类型的指针

// 对于指针来说  去掉名字   剩下的就是 类型

// 整形指针是用来存放整形的地址的
// 字符指针是用来存放字符的地址的
// 数组指针是用来存放数组的地址的

// int arr[10]  = {0}；
// int* p = arr;   arr是首元素地址  指向整数，存起来该地址应该用 int* 类型的指针

// int arr[10] = {0};  //创建一个整形数组
// int* p = arr;  // 把数组首元素的地址存起来
// int (*p2)[10] = &arr; // 把 整个数组  的地址 存起来    去掉 变量名(p2)  后 剩下的就是 类型 int (*)[10]
// 数组指针 不算是二级指针